/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package taller2;

import javax.swing.JOptionPane;
import java.io.*;
import java.io.File;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Guillermo
 */
public class Taller2 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[]args) throws FileNotFoundException {
        // TODO code application logic here
        
        short opcion;
        do{
            opcion=Short.parseShort(JOptionPane.showInputDialog("Ingrese la opcion: \n"
                    + "\n 1. Ejercicio 1"
                    + "\n 2. Ejercicio 2"
                    + "\n 3. Ejercicio 3"
                    + "\n 4. Ejercicio 4"
                    + "\n 5. Ejercicio 5"
                    + "\n 6. Salir"));
        
               
        switch (opcion){
            case 1: ejercicio1();
                break;
            case 2: ejercicio2();
                break;
            case 3: ejercicio3();
                break;
            case 4: ejercicio4();
                break;
            case 5: ejercicio5();
                break;
            case 6: JOptionPane.showMessageDialog(null,"Adios");
                break;    
        }
       }while (opcion>0&&opcion<6);
        }  
        
   public static void ejercicio1(){     
        int cedula,ht,vht,salario;
        double boni,eps,neto;
        String nombre,sexo,continuar;
        char sx;
        
        do{
            cedula=Integer.parseInt(JOptionPane.showInputDialog("Digite el número de la cédula \n"));
            nombre=JOptionPane.showInputDialog("Digite el nombre \n");
            sexo=JOptionPane.showInputDialog("Digite el sexo \n");
            sx=(char)sexo.charAt(0);
            ht=Integer.parseInt(JOptionPane.showInputDialog("Digite la cantidad de horas trabajadas \n"));
            vht=Integer.parseInt(JOptionPane.showInputDialog("Digite el valor de la hora \n"));
            
            salario=ht*vht;
            boni=salario*0.04;
            eps=salario*0.07;
            neto=salario+boni-eps;
            
            JOptionPane.showMessageDialog(null,"El neto a pagar es: "+neto);
                    
            continuar=JOptionPane.showInputDialog("Desea continuar?: S/N");        
          }
         while (continuar.equalsIgnoreCase("s"));
   }
        
        
  public static void ejercicio2(){   
        int c_hamb, c_pinc, c_chor, c_arem, c_areh, c_cons, c_jugo ;
        int v_hamb, v_pinc, v_chor, v_arem, v_areh, v_cons, v_jugo ;       
        int v_cli, v_dia=0;
        double iva_cli, iva_dia=0,v_tcli, v_tdia;
        String continuar1;        
        
        do {
            c_hamb=Integer.parseInt(JOptionPane.showInputDialog("Cantidad de Hamburguesas: "));
            c_pinc=Integer.parseInt(JOptionPane.showInputDialog("Cantidad de Pincho de pollo: "));
            c_chor=Integer.parseInt(JOptionPane.showInputDialog("Cantidad de Choriperro: "));
            c_arem=Integer.parseInt(JOptionPane.showInputDialog("Cantidad de Arepa mixta: "));
            c_areh=Integer.parseInt(JOptionPane.showInputDialog("Cantidad de Arepa de huevo: "));
            c_cons=Integer.parseInt(JOptionPane.showInputDialog("Cantidad de Consomé: "));
            c_jugo=Integer.parseInt(JOptionPane.showInputDialog("Cantidad de Jugos: "));
            
            v_hamb=2500*c_hamb;
            v_pinc=2000*c_pinc;
            v_chor=1500*c_chor;
            v_arem=1100*c_arem;
            v_areh=800*c_areh;
            v_cons=1000*c_cons;
            v_jugo=700*c_jugo;
           
            v_cli= v_hamb+v_pinc+v_chor+v_arem+v_areh+v_cons+v_jugo;
            iva_cli= v_cli*0.16;
            v_tcli=v_cli-iva_cli;
            
            v_dia += v_cli;
            iva_dia += iva_cli;
            v_tdia = v_dia-iva_dia;
            
            JOptionPane.showMessageDialog(null,"Total Venta del Cliente \n"+
                                                "\n Total Venta: "+v_cli+
                                                "\n Iva 16%: "+iva_cli);
                                              //  "\n Total de la venta: "+v_tcli);
            
            continuar1=JOptionPane.showInputDialog("Agregar otro cliente? S/N");
           }
        
        while (continuar1.equalsIgnoreCase("s"));
        
        JOptionPane.showMessageDialog(null,"Total Venta del Día \n"+
                                                "\n Total ventas: "+v_dia+
                                                "\n Total Iva 16%: "+iva_dia);
                                                //"\n Total de las ventas: "+v_tdia);
  }      
        
 public static void ejercicio3(){  

        int x,resul;
        int N=Integer.parseInt(JOptionPane.showInputDialog("Cantidad de Marineros: "));
        
        x=(60*N)/70;
        resul=N-x;
        
        JOptionPane.showMessageDialog(null,"Cantidad de marineros para 2 meses de víveres: "+N+
                                            "\nCantidad de marineros que hay que dejar para 2 meses y 10 días de víveres: "+resul
                );
 }    
       
public static void ejercicio4(){  
        
        int numero=Integer.parseInt(JOptionPane.showInputDialog("Número a convertir"));
        int numerop=numero;
//        String num=Integer.toString(numero); // convertir entero a cadena
//        char [] carac=num.toCharArray(); // extracción de caracteres en arreglo
        int i,j,conver;
        
        String romano="";
        String romanos[]={"M","CM","D","C","XC","L","X","IX","V","I"};
        int numeros[]={1000,900,500,100,90,50,10,9,5,1};
        
        if (numero<=3000){
        for (i=0;numero>=1;i++) { 
            conver = numero / numeros[i]; 
            if (conver < 4) { 
                for (j=0;j<conver;j++) { 
                romano+= romanos[i]; 
                } 
            } 
            else { 
                for (j=0;j<5-conver;j++) { 
                romano+= romanos[i]; 
                } 
                romano+= romanos[i-1]; 
            } 
            numero-= conver*numeros[i]; 
        }
         JOptionPane.showMessageDialog(null,"El número "+numerop+" en número romanos es: "+romano);
        } 
        else
         JOptionPane.showMessageDialog(null,"El rango no es permitido");
}       
         
 public static void ejercicio5() throws FileNotFoundException{  
        
        FileReader fr = new FileReader("E:\\ejercicio.java");//tomar el archivo para modificar o leer / con extensión!!!
        BufferedReader bf = new BufferedReader(fr);//recorrer fila x fila del archivo contenido en filereader
        
        String sCadena,si="if",para="for",mientras=" while",dow="do{",priv="private",publi="public";
        int cuenta_if=0,cuenta_for=0,cuenta_w=0,cuenta_do=0,cuenta_priv=0,cuenta_publi=0;
                
        long lNumeroLineas = 0;
        try {
            while ((sCadena = bf.readLine())!=null) {
                    lNumeroLineas++;
                if (sCadena.indexOf(si)>-1){
                    sCadena=sCadena.substring(sCadena.indexOf(si)+si.length(),sCadena.length());
                    cuenta_if=cuenta_if+1;                    
                }
                if (sCadena.indexOf(para)>-1){
                    sCadena=sCadena.substring(sCadena.indexOf(para)+para.length(),sCadena.length());
                    cuenta_for=cuenta_for+1;                    
                }
                if (sCadena.indexOf(mientras)>-1){
                    sCadena=sCadena.substring(sCadena.indexOf(mientras)+mientras.length(),sCadena.length());
                    cuenta_w=cuenta_w+1;                    
                }
                if (sCadena.indexOf(dow)>-1){
                    sCadena=sCadena.substring(sCadena.indexOf(dow)+dow.length(),sCadena.length());
                    cuenta_do=cuenta_do+1;                    
                }
                if (sCadena.indexOf(priv)>-1){
                    sCadena=sCadena.substring(sCadena.indexOf(priv)+priv.length(),sCadena.length());
                    cuenta_priv=cuenta_priv+1;                    
                }
                if (sCadena.indexOf(publi)>-1){
                    sCadena=sCadena.substring(sCadena.indexOf(publi)+publi.length(),sCadena.length());
                    cuenta_publi=cuenta_publi+1;                    
                }
            }
        } catch (IOException ex) {
            Logger.getLogger(Taller2.class.getName()).log(Level.SEVERE, null, ex);//muestra el error por default
        }
        System.out.println("El fichero tiene " + lNumeroLineas + " lineas");
        JOptionPane.showMessageDialog(null,"El fichero tiene " + lNumeroLineas + " lineas");
        JOptionPane.showMessageDialog(null,"El fichero tiene " + cuenta_if + " If");
        JOptionPane.showMessageDialog(null,"El fichero tiene " + cuenta_for + " For");
        JOptionPane.showMessageDialog(null,"El fichero tiene " + cuenta_w + " While");
        JOptionPane.showMessageDialog(null,"El fichero tiene " + cuenta_do + " Do...While");
        JOptionPane.showMessageDialog(null,"El fichero tiene " + cuenta_priv + " private");
        JOptionPane.showMessageDialog(null,"El fichero tiene " + cuenta_publi + " public");
  
                
 }
}
